package com.cg.ai.mapper;

import com.cg.ai.entity.po.ChatSession;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ChatSessionMapper {
    
    /**
     * 插入一条会话记录
     */
    void insert(ChatSession session);
    
    /**
     * 更新会话信息
     */
    void update(ChatSession session);
    
    /**
     * 根据会话ID查询会话
     */
    ChatSession selectById(@Param("sessionId") Long sessionId);
    
    /**
     * 根据用户ID查询会话列表，按最后活动时间降序排序
     */
    List<ChatSession> selectByUserId(@Param("userId") Long userId);
    
    /**
     * 删除会话
     */
    void deleteById(@Param("sessionId") Long sessionId);
    
    /**
     * 更新会话最后活动时间和消息计数
     */
    void updateSessionActivity(@Param("sessionId") Long sessionId, 
                              @Param("messageCount") Integer messageCount);
}
